
class KeyExpression(object):
    """
    Represents an entry in the dictionary of a project's key expressionsv
    Remarks: this could have been named "Keywords" but the "words" might be "expressions"
    """
    
    NOUN = "noun"
    VERB = "verb"
    ADJECTIVE = "adjective"
    
    def __init__(self, projectID, expression, type, isExplicit = True):
        self.projectID = projectID
        self.expression = expression
        self.type = type
        self.isExplicit = isExplicit
        
    def __str__(self):
        qualifier = "implicit"
        if self.isExplicit:
            qualifier = "explicit"
        
        return "{0} {1} {2}".format(qualifier, self.type, self.expression)